home *** CD-ROM | disk | FTP | other *** search
/ MacGames Sampler / PHT MacGames Bundle.iso / MacSource Folder / Samples from the CD / Editors / emacs / Emacs-1.14b1 / lisp / mac / Quickdraw.el < prev    next >
Encoding:
Text File  |  1994-04-07  |  8.8 KB  |  432 lines  |  [TEXT/EMAC]

  1. ;;;
  2. ;;; This file is part of a Macintosh port of GNU Emacs.
  3. ;;;
  4. ;;; GNU Emacs is distributed in the hope that it will be useful,
  5. ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
  6. ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  7. ;;; GNU General Public License for more details.
  8. ;;;
  9.  
  10. (defconst HiliteMode (hex-string-to-int "938"))
  11. (defconst pHiliteBit 0)
  12.  
  13. (defconst white (make-string 8 0))
  14. (defconst ltGray "\"à\"à")
  15. (defconst gray "™U™U™U™U")
  16. (defconst black (make-string 8 255))
  17.  
  18. (defconst srcCopy 0)
  19. (defconst srcOr 1)
  20. (defconst srcXor 2)
  21. (defconst srcBic 3)
  22. (defconst notSrcCopy 4)
  23. (defconst notSrcOr 5)
  24. (defconst notSrcXor 6)
  25. (defconst notSrcBic 7)
  26. (defconst patCopy 8)
  27. (defconst patOr 9)
  28. (defconst patXor 10)
  29. (defconst patBic 11)
  30. (defconst notPatCopy 12)
  31. (defconst notPatOr 13)
  32. (defconst notPatXor 14)
  33. (defconst notPatBic 15)
  34.  
  35. (defconst blend 32)
  36. (defconst addPin 33)
  37. (defconst addOver 34)
  38. (defconst subPin 35)
  39. (defconst transparent 36)
  40. (defconst addMax 37)
  41. (defconst adMax 37)
  42. (defconst subOver 38)
  43. (defconst adMin 39)
  44. (defconst grayishTextOr 49)
  45. (defconst ditherCopy 64)
  46.  
  47. (defconst clutType 0)
  48. (defconst directType 2)
  49.  
  50. (c:defstruct Point ((short v)
  51.                     (short h)))
  52.  
  53. (c:defstruct Rect ((short top)
  54.                    (short left)
  55.                    (short bottom)
  56.                    (short right)))
  57.  
  58. (c:defstruct BitMap ((long baseAddr)
  59.                      (short rowBytes)
  60.                      (Rect bounds)))
  61.  
  62. (c:defstruct RGBColor ((unsigned-short red)
  63.                        (unsigned-short green)
  64.                        (unsigned-short blue)))
  65.  
  66. (c:typedef Pattern (array char 8))
  67.  
  68. (c:typedef Style char)
  69.  
  70. (c:defstruct Region ((short rgnSize)
  71.                      (Rect rgnBBox)))
  72. (c:typedef RgnHandle (ptr ptr . Region))
  73.  
  74. (c:typedef ITabHandle Handle)
  75. (c:typedef SProcHndl Handle)
  76. (c:typedef CProcHndl Handle)
  77.  
  78. (c:defstruct ColorSpec ((short value)
  79.                         (RGBColor rgb)))
  80.  
  81. (c:defstruct ColorTable ((long ctSeed)
  82.                          (short ctFlags)
  83.                          (short ctSize)
  84.                          ((array ColorSpec 0) ctTable)))
  85. (c:typedef CTabPtr (ptr . ColorTable))
  86. (c:typedef CTabHandle (ptr ptr . ColorTable))
  87.  
  88. (c:defstruct PixMap ((Ptr baseAddr)
  89.                      (short rowBytes)
  90.                      (Rect bounds)
  91.                      (short pmVersion)
  92.                      (short packType)
  93.                      (long packSize)
  94.                      (Fixed hRes)
  95.                      (Fixed vRes)
  96.                      (short pixelType)
  97.                      (short pixelSize)
  98.                      (short cmpCount)
  99.                      (short cmpSize)
  100.                      (long planeBytes)
  101.                      (CTabHandle pmTable)
  102.                      (long pmReserved)))
  103. (c:typedef PixMapHandle (ptr ptr . PixMap))
  104.  
  105. (c:defstruct GrafPort ((short device)
  106.                        (BitMap portBits)
  107.                        (Rect portRect)
  108.                        (RgnHandle visRgn)
  109.                        (RgnHandle clipRgn)
  110.                        (Pattern bkPat)
  111.                        (Pattern fillPat)
  112.                        (Point pnLoc)
  113.                        (Point pnSize)
  114.                        (short pnMode)
  115.                        (Pattern pnPat)
  116.                        (short pnVis)
  117.                        (short txFont)
  118.                        (Style txFace)
  119.                        (char filler)
  120.                        (short txMode)
  121.                        (short txSize)
  122.                        (Fixed spExtra)
  123.                        (long fgColor)
  124.                        (long bkColor)
  125.                        (short colrBit)
  126.                        (short patStretch)
  127.                        (Handle picSave)
  128.                        (Handle rgnSave)
  129.                        (Handle polySave)
  130.                        (Ptr grafProcs)))
  131. (c:typedef GrafPtr (ptr . GrafPort))
  132.  
  133. (c:defstruct GDevice ((short gdRefNum)
  134.                       (short gdID)
  135.                       (short gdType)
  136.                       (ITabHandle gdITable)
  137.                       (short gdResPref)
  138.                       (SProcHndl gdSearchProc)
  139.                       (CProcHndl gdCompProc)
  140.                       (short gdFlags)
  141.                       (PixMapHandle gdPMap)
  142.                       (long gdRefCon)
  143.                       (Handle gdNextGD)
  144.                       (Rect gdRect)
  145.                       (long gdMode)
  146.                       (short gdCCBytes)
  147.                       (short gdCCDepth)
  148.                       (Handle gdCCXData)
  149.                       (Handle gdCCXMask)
  150.                       (long gdReserved)))
  151. (c:typedef GDHandle (ptr ptr . GDevice))
  152.  
  153. ; pascal void InitCursor(void)
  154. ;  = 0xA850; 
  155. (deftrap InitCursor ("a850")
  156.   nil
  157.   nil)
  158.  
  159. (deftrap MoveTo ("A893") ((h short) (v short)) nil)
  160. (deftrap LineTo ("A891") ((h short) (v short)) nil)
  161.  
  162. ; pascal void SetPort(GrafPtr port)
  163. ;  = 0xA873; 
  164. (deftrap SetPort ("a873")
  165.   ((port long))
  166.   nil)
  167.  
  168. ; pascal RgnHandle NewRgn(void)
  169. ;  = 0xA8D8; 
  170. (deftrap NewRgn ("a8d8")
  171.   nil
  172.   long)
  173.  
  174. ; pascal void RectRgn(RgnHandle rgn,const Rect *r)
  175. ;  = 0xA8DF; 
  176. (deftrap RectRgn ("a8df")
  177.   ((rgn long)
  178.    (r address))
  179.   nil)
  180.  
  181. ; pascal void DiffRgn(RgnHandle srcRgnA,RgnHandle srcRgnB,RgnHandle dstRgn)
  182. ;  = 0xA8E6; 
  183. (deftrap DiffRgn ("a8e6")
  184.   ((srcRgnA long)
  185.    (srcRgnB long)
  186.    (dstRgn long))
  187.   nil)
  188.  
  189. ; pascal void SetClip(RgnHandle rgn)
  190. ;  = 0xA879; 
  191. (deftrap SetClip ("a879")
  192.   ((rgn long))
  193.   nil)
  194.  
  195. ; pascal void ClipRect(const Rect *r)
  196. ;  = 0xA87B; 
  197. (deftrap ClipRect ("a87b")
  198.   ((r address))
  199.   nil)
  200.  
  201. ; pascal void DisposeRgn(RgnHandle rgn)
  202. ;  = 0xA8D9; 
  203. (deftrap DisposeRgn ("a8d9")
  204.   ((rgn long))
  205.   nil)
  206.  
  207. ; pascal void TextMode(short mode)
  208. ;  = 0xA889; 
  209. (deftrap TextMode ("a889")
  210.   ((mode short))
  211.   nil)
  212.  
  213. ; pascal void TextFont(short font)
  214. ;  = 0xA887; 
  215. (deftrap TextFont ("a887")
  216.   ((font short))
  217.   nil)
  218.  
  219. ; pascal void TextSize(short size)
  220. ;  = 0xA88A; 
  221. (deftrap TextSize ("a88a")
  222.   ((size short))
  223.   nil)
  224.  
  225. ; pascal void DrawString(ConstStr255Param s)
  226. ;  = 0xA884; 
  227. (deftrap DrawString ("a884")
  228.   ((s address))
  229.   nil)
  230.  
  231. ; pascal void DrawChar(short ch)
  232. ;  = 0xA883; 
  233. (deftrap DrawChar ("a883")
  234.   ((ch short))
  235.   nil)
  236.  
  237. ; pascal short StringWidth(ConstStr255Param s)
  238. ;  = 0xA88C; 
  239. (deftrap StringWidth ("a88c")
  240.   ((s address))
  241.   short)
  242.  
  243. ; pascal void OffsetRect(Rect *r,short dh,short dv)
  244. ;  = 0xA8A8; 
  245. (deftrap OffsetRect ("a8a8")
  246.   ((Rect address)
  247.    (dh short)
  248.    (dv short))
  249.   nil)
  250.  
  251. ; pascal void DrawPicture(PicHandle myPicture,const Rect *dstRect)
  252. ;  = 0xA8F6; 
  253. (deftrap DrawPicture ("a8f6")
  254.   ((myPicture address)
  255.    (dstRect address))
  256.   nil)
  257.  
  258. ; pascal void FrameRect(const Rect *r)
  259. ;  = 0xA8A1; 
  260. (deftrap FrameRect ("a8a1")
  261.   ((r address))
  262.   nil)
  263.  
  264. ; pascal void PaintRect(const Rect *r)
  265. ;  = 0xA8A2; 
  266. (deftrap PaintRect ("a8a2")
  267.   ((r address))
  268.   nil)
  269.  
  270. ; pascal void InvertRect(const Rect *r)
  271. ;  = 0xA8A2; 
  272. (deftrap InvertRect ("a8a4")
  273.   ((r address))
  274.   nil)
  275.  
  276. ; pascal GDHandle GetMainDevice(void)
  277. ;  = 0xAA2A; 
  278. (deftrap GetMainDevice ("aa2a")
  279.   nil
  280.   long)
  281.  
  282. ; pascal GDHandle GetDeviceList(void)
  283. ;   ONEWORDINLINE(0xAA29);
  284. (deftrap GetDeviceList ("aa29")
  285.   nil
  286.   long)
  287.  
  288. ; extern pascal GDHandle GetNextDevice(GDHandle curDevice)
  289. ;  ONEWORDINLINE(0xAA2B);
  290. (deftrap GetNextDevice ("aa2b")
  291.   ((curDevice long))
  292.   long)
  293.  
  294. ; pascal void OpenPort(GrafPtr port)
  295. ;  = 0xA86F; 
  296. (deftrap OpenPort ("a86f")
  297.   ((port long))
  298.   nil)
  299.  
  300. ; pascal void SetPortBits(const BitMap *bm)
  301. ;  = 0xA875; 
  302. (deftrap SetPortBits ("a875")
  303.   ((bm address))
  304.   nil)
  305.  
  306. ; pascal void EraseRect(const Rect *r)
  307. ;  = 0xA8A3; 
  308. (deftrap EraseRect ("a8a3")
  309.   ((r address))
  310.   nil)
  311.  
  312. ; pascal void CopyBits(const BitMap *srcBits,const BitMap *dstBits,const Rect *srcRect,
  313. ;  const Rect *dstRect,short mode,RgnHandle maskRgn)
  314. ;  = 0xA8EC; 
  315. (deftrap CopyBits ("a8ec")
  316.   ((srcBits address)
  317.    (dstBits address)
  318.    (srcRect address)
  319.    (dstRect address)
  320.    (mode short)
  321.    (maskRgn long))
  322.   nil)
  323.  
  324. ; pascal void ClosePort(GrafPtr port)
  325. ;  = 0xA87D; 
  326. (deftrap ClosePort ("a87d")
  327.   ((port long))
  328.   nil)
  329.  
  330. ; pascal void RGBForeColor(const RGBColor *color)
  331. ;  = 0xAA14; 
  332. (deftrap RGBForeColor ("aa14")
  333.   ((color address))
  334.   nil)
  335.  
  336. ; pascal void RGBBackColor(const RGBColor *color)
  337. ;  = 0xAA15; 
  338. (deftrap RGBBackColor ("aa15")
  339.   ((color address))
  340.   nil)
  341.  
  342. ; pascal void HiliteColor(const RGBColor *color)
  343. ;  = 0xAA22;
  344. (deftrap HiliteColor ("aa22")
  345.   ((color address))
  346.   nil)
  347.  
  348. ; pascal void GlobalToLocal(Point *pt)
  349. ;  = 0xA871; 
  350. (deftrap GlobalToLocal ("a871")
  351.   ((pt address))
  352.   nil)
  353.  
  354. ; extern pascal void LocalToGlobal(Point *pt)
  355. ;  ONEWORDINLINE(0xA870);
  356. (deftrap LocalToGlobal ("a870")
  357.   ((pt address))
  358.   nil)
  359.  
  360. ; pascal Boolean PtInRect(Point pt,const Rect *r)
  361. ;  = 0xA8AD; 
  362. (deftrap PtInRect ("a8ad")
  363.   ((pt immediate-string)
  364.    (r address))
  365.   char)
  366.  
  367. ; pascal void PenMode(short mode)
  368. ;  = 0xA89C; 
  369. (deftrap PenMode ("a89c")
  370.   ((mode short))
  371.   nil)
  372.  
  373. ; pascal void PenSize(short width,short height)
  374. ;  = 0xA89B; 
  375. (deftrap PenSize ("a89b")
  376.   ((width short)
  377.    (height short))
  378.   nil)
  379.  
  380. ; pascal void PenPat(ConstPatternParam pat)
  381. ;  = 0xA89D; 
  382. (deftrap PenPat ("a89d")
  383.   ((pat address))
  384.   nil)
  385.  
  386. ; pascal void InsetRect(Rect *r,short dh,short dv)
  387. ;  = 0xA8A9; 
  388. (deftrap InsetRect ("a8a9")
  389.   ((r address)
  390.    (dh short)
  391.    (dv short))
  392.   nil)
  393.  
  394. ; extern pascal Boolean SectRect(const Rect *src1, const Rect *src2, Rect *dstRect)
  395. ;  ONEWORDINLINE(0xA8AA);
  396. (deftrap SectRect ("a8aa")
  397.   ((src1 address)
  398.    (src2 address)
  399.    (dstRect address))
  400.   char)
  401.  
  402. ; pascal void SetRect(Rect *r,short left,short top,short right,short bottom)
  403. ;  = 0xA8A7
  404. (deftrap SetRect ("a8a7")
  405.   ((r address)
  406.    (left short)
  407.    (top short)
  408.    (right short)
  409.    (bottom short))
  410.   nil)
  411.  
  412. ; pascal void FrameRoundRect(const Rect *r,short ovalWidth,short ovalHeight)
  413. ;  = 0xA8B0; 
  414. (deftrap FrameRoundRect ("a8b0")
  415.   ((r address)
  416.    (ovalWidth short)
  417.    (ovalHeight short))
  418.   nil)
  419.  
  420. ; pascal void PenNormal(void)
  421. ;  = 0xA89E; 
  422. (deftrap PenNormal ("a89e")
  423.   nil
  424.   nil)
  425.  
  426. ; pascal Boolean EqualPt(Point pt1,Point pt2)
  427. ;  = 0xA881; 
  428. (deftrap EqualPt ("a881")
  429.   ((pt1 immediate-string)
  430.    (pt2 immediate-string))
  431.   char)
  432.